<!doctype HTML public "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Click to Convert 5.2: Anything to HTML -->
<!-- http://www.clicktoconvert.com -->

<html>
<head>
<title>gravityboxscheduleuserguide - page 90 of 234</title>
<meta http-equiv=content-type content=text/html;charset=iso-8859-1>
<meta name="Generator" content="Click to Convert">

<!--Start of page styles-->
<STYLE TYPE="text/css">
<!--
 /* Foreground Image Styles */

 /* Position Styles */
 .ts90p0{position:absolute;left:106px;top:97px;}
 .ts90p1{position:absolute;left:352px;top:97px;}
 .ts90p3{position:absolute;left:672px;top:97px;}
 .ts90p7{position:absolute;left:106px;top:113px;}
 .ts90p8{position:absolute;left:706px;top:1026px;}
 .ts90p9{position:absolute;left:331px;top:1044px;}
 .ts90p13{position:absolute;left:106px;top:146px;}
 .ts90p14{position:absolute;left:106px;top:164px;}
 .ts90p17{position:absolute;left:106px;top:183px;}
 .ts90p18{position:absolute;left:106px;top:201px;}
 .ts90p20{position:absolute;left:106px;top:238px;}
 .ts90p21{position:absolute;left:106px;top:256px;}
 .ts90p23{position:absolute;left:106px;top:275px;}
 .ts90p24{position:absolute;left:106px;top:293px;}
 .ts90p25{position:absolute;left:106px;top:312px;}
 .ts90p27{position:absolute;left:106px;top:330px;}
 .ts90p28{position:absolute;left:106px;top:348px;}
 .ts90p29{position:absolute;left:106px;top:367px;}
 .ts90p31{position:absolute;left:106px;top:385px;}
 .ts90p32{position:absolute;left:106px;top:404px;}
 .ts90p34{position:absolute;left:106px;top:422px;}
 .ts90p35{position:absolute;left:106px;top:440px;}
 .ts90p36{position:absolute;left:106px;top:459px;}
 .ts90p42{position:absolute;left:106px;top:477px;}
 .ts90p43{position:absolute;left:106px;top:496px;}
 .ts90p44{position:absolute;left:106px;top:514px;}
 .ts90p46{position:absolute;left:106px;top:532px;}
 .ts90p47{position:absolute;left:106px;top:551px;}
 .ts90p48{position:absolute;left:106px;top:569px;}
 .ts90p50{position:absolute;left:106px;top:588px;}
 .ts90p52{position:absolute;left:106px;top:606px;}
 .ts90p53{position:absolute;left:106px;top:624px;}
 .ts90p54{position:absolute;left:384px;top:642px;}
 .ts90p56{position:absolute;left:310px;top:660px;}
 .ts90p58{position:absolute;left:161px;top:680px;}
 .ts90p60{position:absolute;left:286px;top:680px;}
 .ts90p62{position:absolute;left:286px;top:698px;}
 .ts90p63{position:absolute;left:286px;top:716px;}
 .ts90p64{position:absolute;left:286px;top:735px;}
 .ts90p65{position:absolute;left:286px;top:753px;}
 .ts90p67{position:absolute;left:286px;top:772px;}
 .ts90p68{position:absolute;left:286px;top:790px;}
 .ts90p69{position:absolute;left:286px;top:808px;}
 .ts90p70{position:absolute;left:286px;top:827px;}
 .ts90p72{position:absolute;left:286px;top:845px;}
 .ts90p73{position:absolute;left:286px;top:864px;}
 .ts90p74{position:absolute;left:286px;top:882px;}
 .ts90p75{position:absolute;left:286px;top:900px;}
 .ts90p77{position:absolute;left:161px;top:922px;}
 .ts90p80{position:absolute;left:286px;top:922px;}
 .ts90p81{position:absolute;left:286px;top:940px;}
 .ts90p83{position:absolute;left:161px;top:962px;}
 .ts90p85{position:absolute;left:286px;top:962px;}
 .ts90p86{position:absolute;left:286px;top:980px;}
 .ts90p88{position:absolute;left:552px;top:237px;}
 .ts90p90{position:absolute;left:552px;top:249px;}
 .ts90p91{position:absolute;left:552px;top:261px;}
 .ts90p92{position:absolute;left:552px;top:274px;}

 /* Font Styles */
 .ft0p90{font-style:normal;font-weight:bold;font-size:13px;font-family:arial,sans-serif;color:#000000;}
 .ft1p90{font-weight:normal;}
 .ft2p90{font-style:normal;font-weight:normal;font-size:13px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft3p90{font-style:normal;font-weight:normal;font-size:16px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft4p90{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#000000;}
 .ft5p90{font-style:normal;font-weight:normal;font-size:16px;font-family:arial,sans-serif;color:#000000;}
 .ft6p90{font-style:normal;font-weight:bold;font-size:21px;font-family:arial,sans-serif;color:#808080;}
 .ft7p90{font-style:normal;font-weight:bold;font-size:16px;font-family:helvetica,arial,sans-serif;color:#000000;}
 .ft8p90{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#FFFFFF;}
 .ft9p90{font-style:normal;font-weight:normal;font-size:11px;font-family:arial,sans-serif;color:#000000;}

 /* Background Style */
 .styleBackground90{position:absolute;left:105px;top:237px}

 /* Navigation Styles */
 .styleNavBarTop{position:absolute;left:0px;top:2px}
 .nb{position:absolute;left:2px;top:0px}
 .nbs{position:absolute;left:0px;top:0px}
 .nbe{position:absolute;left:836px;top:0px}
 .styleNavBarBot{position:absolute;left:0px;top:1117px}
-->
</STYLE>
<!--End of page styles-->

</head>
<body bgcolor="#ffffff" text="#000000" link="#0000FF" Vlink="#660099">

<table id="pageTable" width="836" STYLE="position: relative; left: auto; top: auto;"><tr><td>
<div class=nbs><img src="./navbarstart.gif" width="2" height="30"></div>
<div class=nb><img src="./navbar.gif" width="836" height="30" alt="Navigation bar"></div>
<div class=nbe><img src="./navbarend.gif" width="2" height="30"></div>
<div class=styleNavBarTop>
<table width="834" height="26" border="0" cellspacing="0">
  <tr align="left">
    <td width="4">&nbsp;</td>
    <td width="25" align="center"><a href="http://www.gravitybox.com" target="_parent"><img src="./home.gif" border="0" alt="Home"></a></td>
    <td width="25" align="center"><a href="#" onClick="window.open('./print.html','Printing','width=300,height=100,toolbar=no,directories=no');return false;"><img src="./print.gif" border="0" alt="Print document"></a></td>
    <td width="10" align="center"><img src="./separator.gif" border="0"></td>
    <td width="18" align="center"><a href="./index1.html"><img src="./start.gif" width="18" height="14" border="0" alt="Start"></a></td>
    <td width="18" align="center"><a href="./index89.html"><img src="./back.gif" width="14" height="14" border="0" alt="Previous page"></a></td>
    <td width="80" valign="middle"><table width="100%" height="16" border="0" cellspacing="1" bgcolor="#ACA899"><tr><td align="center" bgcolor="#ffffff"><font face=verdana,arial,sans-serif><font size="1">&nbsp;90 of 234&nbsp;</font></font></td></tr></table></td>
    <td width="18" align="center"><a href="./index91.html"><img src="./forward.gif" width="14" height="14" border="0" alt="Next page"></a></td>
    <td width="18" align="center"><a href="./index234.html"><img src="./end.gif" width="18" height="14" border="0" alt="End"></a></td>
    <td width="620">&nbsp;</td>
  </tr>
</table>
<p>
</div>
<nobr>
<div class=styleBackground90><img src="./background90.png" width="633" height="818" border="0" alt=""></div>
<div class=ts90p0><span class="ft0p90"> </span></div>
<div class=ts90p1><span class="ft0p90">Gravitybox Schedule Primer<span class="ft1p90"> </span></span></div>
<div class=ts90p3><span class="ft0p90">Page 88&nbsp; </span></div>
<div class=ts90p7><span class="ft2p90"> </span></div>
<div class=ts90p8><span class="ft3p90"> </span></div>
<div class=ts90p9><span class="ft4p90">1998&#45;2004 Gravitybox Software LLC<span class="ft3p90"> </span></span></div>
<div class=ts90p13><span class="ft5p90">This tells us that ScheduleItems(3) and ScheduleItems(4) have conflicts. Since there </span></div>
<div class=ts90p14><span class="ft5p90">are only two appointments in the group we know that they conflict with each other. </span></div>
<div class=ts90p17><span class="ft5p90"> </span></div>
<div class=ts90p18><span class="ft6p90">Next available slot </span></div>
<div class=ts90p20><span class="ft5p90">Before an appointment is added, you may wish to determine </span></div>
<div class=ts90p21><span class="ft5p90">if its addition will cause a conflict. There is a way to do this. </span></div>
<div class=ts90p23><span class="ft5p90">The GetNextFreeSlot method of the schedule may be used </span></div>
<div class=ts90p24><span class="ft5p90">in a variety of situations that require conflict checks. The method is used in the following </span></div>
<div class=ts90p25><span class="ft5p90">manner. Pass the parameters of date, room, start time and length and compare them </span></div>
<div class=ts90p27><span class="ft5p90">with the returned results. If the sent parameters match the return parameters, this space </span></div>
<div class=ts90p28><span class="ft5p90">it free, otherwise there was some appointment blocking the area. For example, if the </span></div>
<div class=ts90p29><span class="ft5p90">parameters Jun 3, 2002 at 10:00AM in Room1 checking for a 60 minute appointment </span></div>
<div class=ts90p31><span class="ft5p90">space are sent and the return values are the same date, time and room, there is no </span></div>
<div class=ts90p32><span class="ft5p90">other appointment present in this area of the schedule. </span></div>
<div class=ts90p34><span class="ft5p90"> </span></div>
<div class=ts90p35><span class="ft5p90">There are times when the automated calculation of free appointment slots is necessary. </span></div>
<div class=ts90p36><span class="ft5p90">In many cases, the user will drag&#45;and&#45;drop appointments to the desired position. If a </span></div>
<div class=ts90p42><span class="ft5p90">schedule is relatively empty, it is easy to spot a free area on which to place the </span></div>
<div class=ts90p43><span class="ft5p90">appointment. However finding a place for an appointment may not be so easy, if a </span></div>
<div class=ts90p44><span class="ft5p90">schedule is chiefly full. An appointment slot may not be readily visible. In this case, the </span></div>
<div class=ts90p46><span class="ft5p90">schedule will perform the grunt work. The GetNextFreeSlot method will take a number </span></div>
<div class=ts90p47><span class="ft5p90">of parameters to define exactly where to start the search. The method will then return </span></div>
<div class=ts90p48><span class="ft5p90">the first available slot, starting from the specified point, in which the specified </span></div>
<div class=ts90p50><span class="ft5p90">appointment of the desired length will fit. The parameters to this method are as follows. </span></div>
<div class=ts90p52><span class="ft5p90"> </span></div>
<div class=ts90p53><span class="ft5p90"> </span></div>
<div class=ts90p54><span class="ft7p90">Table 8.3 </span></div>
<div class=ts90p56><span class="ft7p90">GetNextFreeSlot Parameters </span></div>
<div class=ts90p58><span class="ft5p90">GroupId </span></div>
<div class=ts90p60><span class="ft5p90">Specify a GroupId when you wish to find the next free slot for </span></div>
<div class=ts90p62><span class="ft5p90">a group of appointments. In general, this method if to find a </span></div>
<div class=ts90p63><span class="ft5p90">free slot for one appointment. However is may also be used to </span></div>
<div class=ts90p64><span class="ft5p90">find the next free slot of the first appointment of a Recurrence </span></div>
<div class=ts90p65><span class="ft5p90">group. You can assume that all appointments in the group will </span></div>
<div class=ts90p67><span class="ft5p90">have a free slot if all are move the relative distance from the </span></div>
<div class=ts90p68><span class="ft5p90">starting appointment in the group to the return value of the </span></div>
<div class=ts90p69><span class="ft5p90">method. For example, if the starting date/time for the group&#146;s </span></div>
<div class=ts90p70><span class="ft5p90">starting appointment is Feb 3, 2004 10:00AM and the method </span></div>
<div class=ts90p72><span class="ft5p90">return value is Feb 5, 2004 2:00 PM, you may assume that </span></div>
<div class=ts90p73><span class="ft5p90">there is a free slot for all appointment in the group if they are </span></div>
<div class=ts90p74><span class="ft5p90">all moved 2 days and 4 hours (3120 minutes). If you do not </span></div>
<div class=ts90p75><span class="ft5p90">wish to search by group then leave this parameter blank. </span></div>
<div class=ts90p77><span class="ft5p90">StartDate </span></div>
<div class=ts90p80><span class="ft5p90">This is the date at which the search should begin. If in </span></div>
<div class=ts90p81><span class="ft5p90">RoomOnly mode, this parameter is ignored. </span></div>
<div class=ts90p83><span class="ft5p90">StartRoom </span></div>
<div class=ts90p85><span class="ft5p90">This is the room at which the search should begin. If in </span></div>
<div class=ts90p86><span class="ft5p90">DayOnly mode, this parameter is ignored. </span></div>
<div class=ts90p88><span class="ft8p90">Quick Tip </span></div>
<div class=ts90p90><span class="ft9p90">You may search for a free space on </span></div>
<div class=ts90p91><span class="ft9p90">a schedule by using the </span></div>
<div class=ts90p92><span class="ft9p90">&#147;GetNextFreeSlot&#148; method. </span></div>
<div class=styleNavBarBot>
<table width="836" border="0" cellspacing="2">
  <tr></tr>
  <tr>
    <td width="118"><a href="http://www.purepage.com"><img src="./smalllogo.gif" width="118" height="46" border="0" alt="http://www.purepage.com"></a></td>
    <td></td>
  </tr>
</table>
</div>

</td></tr></table>

</body>
</html>
